草庐IT

python - SWIG Python 结构数组

全部标签

json - 解码数组中的单个元素

有没有办法在Go中将JSON数组解码为单个对象?我有一个来自端点的json响应:{"results":[{"key":"value"}]}我有一个用于数组内对象的Go结构:typeObjectstruct{Keystring`json:"key"`}...以及响应对象的结构:typeResponsestruct{Objects[]Object`json:"results"`}results是一个对象数组,但我知道端点只会返回一个包含1个对象的数组。有没有办法解码数据并避免通过索引引用对象?我希望我可以使用类似json:"results[0]"的东西作为字段标记。我希望能够:decode

json - 解码数组时无法将数组解码为 Go 结构

我正在尝试将JSON字符串正确解码为一个对象。我定义了以下结构:typeAjaxModelsListstruct{Idfloat64`json:"Id"`Namestring`json:"Name"`CarIdfloat64`json:"CarId"`EngNamestring`json:"EngName"`}typeAjaxModelsDatastruct{ModelList[]AjaxModelsList`json:"ModelList"`}typeAjaxModelsstruct{Statusbool`json:"status"`Datamap[string]AjaxModels

go - 您可以通过 json 键字段动态迭代 Go 中的结构字段吗?

typeParamsstruct{MyNumstring`json:"req_num"`}所以我需要将MyNum的值分配给另一个变量,给定一个“req_num”字符串键,用于我在beego框架。这在Go中是否可行?如果可行,如何实现?我查看了反射库,找不到方法。这是我正在尝试做的一个例子。params是一个Params类型的变量,MyNum的值初始化为“123”让我们说。f目前没有得到“123”。当我将其记录到控制台时,它显示""。b:="req_num"r:=reflect.ValueOf(params)f:=reflect.Indirect(r).FieldByName(b)编辑:

go - 将 JSONSchema 解析为 golang 中的结构类型

因此,我的用例包括将不同的JSON模式解析为新的结构类型,这些类型将进一步与ORM一起使用以从SQL数据库中获取数据。在自然界中被编译,我相信不会有一个开箱即用的解决方案,但是是否有任何hack可以做到这一点,而不需要创建一个单独的go进程。我通过反射(reflection)尝试过,但没有找到令人满意的方法。目前,我正在使用a-hgenerate确实生成结构的库,但我一直在研究如何在运行时加载这些新的结构类型。编辑示例JSON模式:{"$schema":"http://json-schema.org/draft-07/schema#","title":"Address","id":"A

json - Golang 取消设置结构字段

在Golang中,我有以下具有三个字段的结构typePersonstruct{namestringageintrankint}对于处理,我需要一个排名字段,但对于输出,我想从结构中排除排名字段,因为我直接将上述结构传递给JSON编码器以抛出响应。有什么方法可以取消Struct中的rank字段设置? 最佳答案 要取消设置字段,请为其分配零值,例如:varpPersonp.rank=0还知道,如果你想使用Person来处理JSON,你必须导出字段,未导出的字段不会被encoding/json包处理,所以将Person更改为:typePe

unit-testing - 如何在不同的包中测试未导出的结构字段?

我有一个用工厂创建对象的包。结构具有未导出的字段,例如:packagefetchertypeGitFetcherstruct{uristring}我有另一个包,它解析一些配置文件,然后构建另一个使用上述对象的对象:packageconfigtypeSourcestruct{fetcherGitFetcher}我正在尝试测试我的config包。我想构建一些预期的对象,但由于我的测试在config中,而我的GitFetcher在fetcher中,我不能只创建对象我想要,例如:packageconfigexpected:=GitFetcher{uri:"example.com/repo.gi

go - 当作为参数传递给单独包中的函数时,结构不是类型

我正在制作一个JSON验证函数并尝试实现它。但是,当我尝试将它们作为参数导入我的验证函数时,我的结构出现了问题,该验证函数位于另一个包中。它在另一个包中的原因是因为我将在不同的路由文件中调用一个通用验证函数,所以我实际上不能在该包中包含任何结构,它们必须在路由文件中导入和定义。typeUsersJSONstruct{Usersstruct{Put[]UserJSON`json:"PUT"`}`json:"users"`}typeUserJSONstruct{display_namestring`json:"display_name"`usernamestring`json:"usern

go - 如何在 Go 中填充具有大量嵌套结构的结构

填充内部有很多嵌套结构的结构的最佳方法是什么?我制作了一个结构来从中生成一个json模式文件,如下所示:typeSchemastruct{Schemastring`default:"http://json-schema.org/draft-04/schema#"`Titlestring`default:"TestSchema"`Typestring`default:"object"`AdditionalPropertiesbool`default:false`Propertiesstruct{Corestruct{TypestringAdditionalPropertiesboolPr

go - 如何从文件填充结构

我有一个struct是这样设计的:typeUrlDatastruct{AsintIsostring}我实例化它,然后我读取一个文本文件(见下文)以检查某个结构字段是否等于txt文件中的值(是的,我知道显式比较会容易得多,但从文件中读取数据是必须满足的要求)txt文件格式如下:as646isous读取txt文件时,我想知道*UrlData.As字段(在实例化项中)是否等于文件中的值,即646。问题是我不知道如何将txt文件中的当前字段与结构字段的名称相匹配。最合适的方法是什么? 最佳答案 您将需要实现一种机制,该机制可以确定行中命名的

go - 简单 HTTPS 请求 : Golang returns 505, Python 和 Chrome 工作

我正在尝试使用最简单的golang代码执行HTTPgetoverTLS,并从服务器获取505响应(不支持HTTP版本)。问题是,使用简单的pythonrequests.get可以实现相同的查询。此外,我可以使用Chrome并成功执行相同的请求。有什么想法会使golang请求不同,从而导致服务器返回505吗?我意识到这个响应是特定于服务器的。使用相同的golang代码将HTTPS连接到google.com。我曾尝试使用Wireshark进行故障排除,但TLS使这变得困难。看来这一定很简单!服务器是nginx1.9.3。Golang代码:packagemainimport("fmt""ne